export interface BaseMessage {
  id: number
  sender: 'user' | 'bot'
  timestamp: number
  type: 'text' | 'image' | 'file'
}

export interface TextMessage extends BaseMessage {
  type: 'text'
  content: string
}

export interface ImageMessage extends BaseMessage {
  type: 'image'
  imageUrl: string
}

export interface FileMessage extends BaseMessage {
  type: 'file'
  fileName: string
  fileUrl: string
  fileSize: number
}

export type Message = TextMessage | ImageMessage | FileMessage

export type MessageList = Message[]

export interface MessageGroup {
  id: number
  messageList: MessageList
}

export type MessageGroupList = MessageGroup[]
